While communications networks have in the past mainly been used for circuit-switched services (i.e., telephony), modern communications networks are increasingly being utilized for providing multimedia and other complex services to users. Such services typically require packet-switched transmission technologies based on, for example, the Internet Protocol (IP). In this context, the 3rd Generation Partnership Project (3GPP) has defined the so-called IP Multimedia Subsystem (IMS) for a standardized access from different access networks to a plethora of different IP-based services.
As more and more users are making use of packet-based services, there is also a need to understand the underlying packet flows. Such an understanding is important for network optimization in general, and in particular for improving network experience from the perspective of an individual user. DPI-based network mechanisms are commonly used to monitor and control packet-based network traffic. Such mechanisms inspect, analyse (e.g., classify) and take action based on packet contents (also called payload) rather than just based on packet headers.
Conventionally, DPI is employed to identify the services that generate and receive data packets. As a result, the packet transfer can be delayed or speeded-up depending on the needs of a particular service or of a particular communication service provider. As an example, DPI forms the basis for delaying, or “throttling”, data packets from certain Peer-to-Peer (P2P) services such as BitTorrent by Internet Service Providers (ISPs). DPI can also be set up in a passive manner to gather information how the communications network is used at an aggregate level. This information can be used to understand the nature of possible network bottlenecks and to identify the responsible services.